using System;

 class MyStack<T>

{

    public T[] Items;

    private int top = -1; // 栈顶指针，初始为-1表示空栈

    public MyStack(int size)

    {

        Items = new T[size];

    }

    // 初始化栈

    public void InitStack()

    {

        top = -1;

    }

    // 清空栈

    public void ClearStack()

    {

        top = -1;

    }

    // 入栈

    public bool Push(T item)

    {

        if (top == Items.Length - 1) // 栈满

            return false;

        Items[++top] = item;

        return true;

    }

    // 出栈

    public T Pop()

    {

        if (top == -1) // 栈空

            throw new InvalidOperationException("栈为空");

        return Items[top--];

    }

}

